home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / obero / oberon_lib.lha / oberon-a / source1.lha / source / 3rdParty / TextFieldGadget.mod < prev    next >
Text File  |  1994-08-08  |  2KB  |  110 lines

  1. MODULE TextFieldGadget;
  2.  
  3. (* $P- allow non-portable code *)
  4.  
  5. IMPORT SYS := SYSTEM, E := Exec, I := Intuition, U := Utility;
  6.  
  7. (*
  8.  * TextFieldGadget.mod
  9.  *
  10.  * Copyright © 1994 Mark Thomas
  11.  * Translattxf for Oberon-A by Helmuth Ritzer, June 1994
  12.  * Minor modifications for Oberon-A Release 1.4 by Frank Copeland.
  13.  *
  14.  * Defines for the BOOPSI textfield.gadget V1.2
  15.  *)
  16.  
  17.  
  18. CONST
  19.   dummy           = U.tagUser + 04000000H;
  20.  
  21.   text *          = dummy + 1;
  22.   insertText *    = dummy + 2;
  23.   textFont *      = dummy + 3;
  24.   delimiters *    = dummy + 4;
  25.   top *           = dummy + 5;
  26.   blockCursor *   = dummy + 6;
  27.   size *          = dummy + 7;
  28.   visible *       = dummy + 8;
  29.   lines *         = dummy + 9;
  30.   noGhost *       = dummy + 10;
  31.   maxSize *       = dummy + 11;
  32.   border *        = dummy + 12;
  33.   textAttr *      = dummy + 13;
  34.   fontStyle *     = dummy + 14;
  35.   up *            = dummy + 15;
  36.   down *          = dummy + 16;
  37.   alignment *     = dummy + 17;
  38.   vCenter *       = dummy + 18;
  39.   ruledPaper *    = dummy + 19;
  40.   paperPen *      = dummy + 20;
  41.   inkPen *        = dummy + 21;
  42.   linePen *       = dummy + 22;
  43.   userAlign *     = dummy + 23;
  44.   spacing *       = dummy + 24;
  45.   clipStream *    = dummy + 25;
  46.   clipStream2 *   = dummy + 26;
  47.   blinkRate *     = dummy + 27;
  48.   inverted *      = dummy + 28;
  49.   partial *       = dummy + 29;
  50.   cursorPos *     = dummy + 30;
  51.  
  52. (*
  53.  * TEXTFIELD_Border
  54.  *
  55.  * See docs for width and height sizes these borders are
  56.  *)
  57.  
  58.   borderNone *        = 0;
  59.   borderBevel *       = 1;
  60.   borderDoubleBevel * = 2;
  61.  
  62. (*
  63.  * TEXTFIELD_Alignment
  64.  *)
  65.  
  66.   alignLeft *         = 0;
  67.   alignCenter *       = 1;
  68.   alignRight *        = 2;
  69.  
  70.  
  71. TYPE
  72.   TextFieldBasePtr * = CPOINTER TO TextFieldBase;
  73.   TextFieldBase * = RECORD (E.Library) END;
  74.  
  75. CONST
  76.   name * = "gadgets/textfield.gadget";
  77.  
  78.  
  79. VAR
  80.   base * : TextFieldBasePtr;
  81.  
  82.  
  83. LIBCALL (base : TextFieldBasePtr) GetClass* ()
  84.   : I.IClassPtr;
  85.   -30;
  86.  
  87. (*-- Library Base variable --------------------------------------------*)
  88. (* $L- Address globals through A4 *)
  89.  
  90.  
  91. PROCEDURE* CloseLib;
  92.   BEGIN
  93.     IF base # NIL THEN E.base.CloseLibrary (base) END;
  94.   END CloseLib;
  95.  
  96. PROCEDURE OpenLib * (mustOpen : BOOLEAN);
  97.   BEGIN
  98.     IF base = NIL THEN
  99.       base := SYS.VAL(TextFieldBasePtr, E.base.OpenLibrary (name, 0));
  100.       IF base # NIL THEN SYS.SETCLEANUP (CloseLib)
  101.       ELSIF mustOpen THEN HALT (100)
  102.       END
  103.     END
  104.   END OpenLib;
  105.  
  106.  
  107. BEGIN
  108.   base := NIL
  109. END TextFieldGadget.
  110.